package com.naiterui.ehp.bs.doctor.domain;

import static javax.persistence.GenerationType.IDENTITY;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Version;

@Table(name = "dr_notice_info")
@Entity
public class DrNoticeInfo {

    public static final int STATUS_NO = 1;// 未推送

    public static final int STATUS_YES = 2;// 已推送

    public static final int NOTICE_TYPE_PIC_TEXT = 1;// 图文

    public static final int NOTICE_TYPE_LINK_URL = 2;// 外链

    public static final int NOTICE_TYPE_PLAIN_TEXT = 3;// 纯文本

    public static final long TOPIC_DOCTOR_COLLEGE = 2;// 医生学院(cms_notice_topic表中的医生学院id)

    public static final int MSG_SCENE_NEW_DOCTOR = 1;// 应用场景：1：新手教程

    /** 主键id */
    private Long id;
    /** 公告标题 */
    private String title;
    /** 公告内容（外链的话就是超链接） */
    private String content;
    /** 公告类型，1：图文，2：外链，3：纯文本 */
    private Integer noticeType;
    /** 公告状态1未推送，2已推送 */
    private Integer status;
    /** 公告主题id（医院学院、行业新闻、系统公告） */
    private Long topicId;
    /** 医生id */
    private Long doctorId;
    /** 消息场景：1：新手教程 */
    private Integer msgScene;
    /** 推送时间 */
    private Date startTime;
    /** 图片 */
    private String coverImg;
    /** 创建时间 */
    private Date createdAt;
    /** 修改时间 */
    private Date changedAt;
    /** 创建人 */
    private String createdBy;
    /** 修改人 */
    private String changedBy;
    /** 版本控制 */
    private Integer version;

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "id", unique = true, nullable = false)
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Column(name = "title")
    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    @Column(name = "content")
    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    @Column(name = "notice_type")
    public Integer getNoticeType() {
        return noticeType;
    }

    public void setNoticeType(Integer noticeType) {
        this.noticeType = noticeType;
    }

    @Column(name = "status")
    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    @Column(name = "topic_id")
    public Long getTopicId() {
        return topicId;
    }

    public void setTopicId(Long topicId) {
        this.topicId = topicId;
    }

    @Column(name = "doctor_id")
    public Long getDoctorId() {
        return doctorId;
    }

    public void setDoctorId(Long doctorId) {
        this.doctorId = doctorId;
    }

    @Column(name = "start_time")
    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    @Column(name = "created_at")
    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    @Column(name = "changed_at")
    public Date getChangedAt() {
        return changedAt;
    }

    public void setChangedAt(Date changedAt) {
        this.changedAt = changedAt;
    }

    @Column(name = "created_by")
    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    @Column(name = "changed_by")
    public String getChangedBy() {
        return changedBy;
    }

    public void setChangedBy(String changedBy) {
        this.changedBy = changedBy;
    }

    @Version
    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    @Column(name = "msg_scene")
    public Integer getMsgScene() {
        return msgScene;
    }

    public void setMsgScene(Integer msgScene) {
        this.msgScene = msgScene;
    }

    @Column(name = "cover_img")
    public String getCoverImg() {
        return coverImg;
    }

    public void setCoverImg(String coverImg) {
        this.coverImg = coverImg;
    }

}
